package nl.grol.yakshop.domain.model;

/**
 * Interface used as placeholder for milkable creatures
 * 
 * @author mgrol
 *
 */
public interface MilkableI extends LivingI {

	/**
	 * Determines if the object-of-interest is old enough to be milked.
	 * Typically there is a minimum age for milking
	 * 
	 * @param daysSinceStartOfShop: days since start shop (=start reference point in time)
	 * @return yes or no
	 */
	boolean isOldEnoughToBeMilkedOnDay(int daysSinceStartOfShop);

	/**
	 * Determines the milk production for a particular day
	 * Typically the milk production is age dependend
	 * 
	 * @param daysSinceStartOfShop
	 * @return
	 */
	double getMilkProductionOnDay(int daysSinceStartOfShop);

}
